In [3]:
from cameo import models, phenotypic_phase_plane

In [63]:
model = models.bigg.e_coli_core.copy()

In [64]:
model.reactions.EX_o2_e.lower_bound = 0

In [24]:
model.reactions.EX_succ_e


Out[24]:
IdEX_succ_e
NameSuccinate exchange
Stoichiometrysucc_e -->
Lower bound0.000000
Upper bound1000.000000

In [25]:
ppp = phenotypic_phase_plane(model,
                             variables=[model.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=model.reactions.EX_succ_e)

ppp.plot()

In [39]:
mutant1 = model.copy()

In [40]:
mutant1.reactions.ACKr.knock_out()
mutant1.reactions.ATPS4r.knock_out()
mutant1.reactions.ATPM.knock_out()
mutant1.reactions.FUM.knock_out()

In [41]:
ppp = phenotypic_phase_plane(mutant1,
                             variables=[mutant1.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant1.reactions.EX_succ_e)

ppp.plot()



In [33]:
mutant2 = model.copy()

In [35]:
mutant2.reactions.ACALD.knock_out()
mutant2.reactions.PYK.knock_out()
mutant2.reactions.ME2.knock_out()

In [36]:
ppp = phenotypic_phase_plane(mutant2,
                             variables=[mutant2.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant2.reactions.EX_succ_e)

ppp.plot()



In [42]:
mutant3 = model.copy()

In [43]:
mutant3.reactions.ACALD.knock_out()
mutant3.reactions.LDH_D.knock_out()

In [44]:
ppp = phenotypic_phase_plane(mutant3,
                             variables=[mutant3.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant3.reactions.EX_succ_e)

ppp.plot()


Excercises

  • Do any of these desigs work under aerobic conditions?
  • Can any of these designs actually be achieved with gene knockouts?

Solutions


In [67]:
### Solution 1

In [46]:
mutant1.reactions.EX_o2_e.lower_bound = -20
ppp = phenotypic_phase_plane(mutant1,
                             variables=[mutant1.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant1.reactions.EX_succ_e)

ppp.plot()



In [47]:
mutant2.reactions.EX_o2_e.lower_bound = -20
ppp = phenotypic_phase_plane(mutant2,
                             variables=[mutant2.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant2.reactions.EX_succ_e)

ppp.plot()



In [49]:
mutant3.reactions.EX_o2_e.lower_bound = -20
ppp = phenotypic_phase_plane(mutant3,
                             variables=[mutant3.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant3.reactions.EX_succ_e)

ppp.plot()


The anwer is no!

Solution 2


In [53]:
mutant3.reactions.ACALD.gene_name_reaction_rule


Out[53]:
'mhpF or adhE'

In [54]:
mutant3.reactions.LDH_D.gene_name_reaction_rule


Out[54]:
'dld or ldhA'

In [58]:
for gene in mutant3.reactions.ACALD.genes:
    print(gene.name, gene.reactions)


adhE frozenset({<Reaction ALCD2x at 0x7f8f21a0e908>, <Reaction ACALD at 0x7f8f21a0e668>})
mhpF frozenset({<Reaction ACALD at 0x7f8f21a0e668>})

In [59]:
for gene in mutant3.reactions.LDH_D.genes:
    print(gene.name, gene.reactions)


ldhA frozenset({<Reaction LDH_D at 0x7f8f21a26208>})
dld frozenset({<Reaction LDH_D at 0x7f8f21a26208>})

In [65]:
mutant4 = model.copy()
mutant4.reactions.ACALD.knock_out()
mutant4.reactions.LDH_D.knock_out()
mutant4.reactions.ALCD2x.knock_out()

In [66]:
ppp = phenotypic_phase_plane(mutant4,
                             variables=[mutant4.reactions.BIOMASS_Ecoli_core_w_GAM],
                             objective=mutant4.reactions.EX_succ_e)

ppp.plot()


The answer is yes!


In [ ]: